草庐IT

Case-insensitive

全部标签

JOIN 依赖于 CASE 的 MySQL 查询

据我所知,CASE只能在WHERE上下文中使用。不过,我需要根据column值使用不同的表。我尝试过的看起来像这样:SELECT`ft1`.`task`,COUNT(`ft1`.`id`)`count`FROM`feed_tasks``ft1`CASE`ft1`.`type`WHEN1THEN(INNERJOIN`pages``p1`ON`p1`.`id`=`ft1`.`reference_id`)WHEN2THEN(INNERJOIN`urls``u1`ON`u1`.`id`=`ft1`.`reference_id`)WHERE`ft1`.`account_id`ISNOTNULLA

JOIN 依赖于 CASE 的 MySQL 查询

据我所知,CASE只能在WHERE上下文中使用。不过,我需要根据column值使用不同的表。我尝试过的看起来像这样:SELECT`ft1`.`task`,COUNT(`ft1`.`id`)`count`FROM`feed_tasks``ft1`CASE`ft1`.`type`WHEN1THEN(INNERJOIN`pages``p1`ON`p1`.`id`=`ft1`.`reference_id`)WHEN2THEN(INNERJOIN`urls``u1`ON`u1`.`id`=`ft1`.`reference_id`)WHERE`ft1`.`account_id`ISNOTNULLA

MySQL 不区分大小写的 DISTINCT

谁能告诉我如何在不区分大小写的情况下从我的数据库中选择DISTINCT?我的查询是SELECTDISTINCTemailFROM`jm_order`结果显示了表中的所有电子邮件,但重复了不同案例的电子邮件。这是预料之中的,因为这些值在不同情况下是不同的。例如sam@gmail.comjosh@gmail.comSam@gmail.comjohn@gmail.com但我想要的是相同的电子邮件,无论大小如何都分组在一起。我可以对我的SQL进行哪些调整以阻止它重复,例如sam@gmail.com和Sam@gmail.com只是因为它们是不同的情况? 最佳答案

MySQL 不区分大小写的 DISTINCT

谁能告诉我如何在不区分大小写的情况下从我的数据库中选择DISTINCT?我的查询是SELECTDISTINCTemailFROM`jm_order`结果显示了表中的所有电子邮件,但重复了不同案例的电子邮件。这是预料之中的,因为这些值在不同情况下是不同的。例如sam@gmail.comjosh@gmail.comSam@gmail.comjohn@gmail.com但我想要的是相同的电子邮件,无论大小如何都分组在一起。我可以对我的SQL进行哪些调整以阻止它重复,例如sam@gmail.com和Sam@gmail.com只是因为它们是不同的情况? 最佳答案

MySQL - CASE vs IF 语句 vs IF 函数

谁能解释一下CASE语句、IF语句和IF函数之间的区别?在用法和“工作原理”方面有什么区别? 最佳答案 Fromthemanual,看起来if函数只是case表达式的一种不太灵活的形式。例如,你可以这样写:selectif(username='darxysaq','high','low')asawesomeness和case的等价物:selectcasewhenusername='darxysaq'then'high'else'low'endasawesomeness但case更灵活。它允许多个分支,例如:selectcasewhe

MySQL - CASE vs IF 语句 vs IF 函数

谁能解释一下CASE语句、IF语句和IF函数之间的区别?在用法和“工作原理”方面有什么区别? 最佳答案 Fromthemanual,看起来if函数只是case表达式的一种不太灵活的形式。例如,你可以这样写:selectif(username='darxysaq','high','low')asawesomeness和case的等价物:selectcasewhenusername='darxysaq'then'high'else'low'endasawesomeness但case更灵活。它允许多个分支,例如:selectcasewhe

带有 case 语句的 Mysql SUM

SELECTSUM(CASEWHENcumulative=1THENpercentELSE0END)FROMphppos_items_taxes;鉴于上述声明,它会执行以下操作:mysql>select*FROMphppos_items_taxes;+---------+-----------+---------+------------+|item_id|name|percent|cumulative|+---------+-----------+---------+------------+|1|Tax1|8.00|0||1|Tax2|10.00|1||3|SalesTax|8.0

带有 case 语句的 Mysql SUM

SELECTSUM(CASEWHENcumulative=1THENpercentELSE0END)FROMphppos_items_taxes;鉴于上述声明,它会执行以下操作:mysql>select*FROMphppos_items_taxes;+---------+-----------+---------+------------+|item_id|name|percent|cumulative|+---------+-----------+---------+------------+|1|Tax1|8.00|0||1|Tax2|10.00|1||3|SalesTax|8.0

mysql - 如何将 Linux 服务器中的 MySQL 表名更改为不区分大小写?

我正在开发一个曾经托管在Apple服务器上的旧网站。当它迁移到新的Linux服务器时,它停止工作。我很确定这是因为php脚本中使用的所有MySQL查询对表名都有不同的大小写组合(我不知道为什么原始开发人员在创建表名或php脚本时没有遵循任何约定)这并不重要,因为Mac和WindowsMySQL服务器默认情况下都不区分大小写。但是,Linux不是。有没有办法改变MySQL上的Linux默认值,使其变得不区分大小写并且像Mac或Windows一样工作?我一直在寻找,但没有找到任何不涉及更改脚本或表名或两者的答案。该网站必须是使用某些CMS生成的,因此有几十个页面,并在每个表和数百个表中包含

mysql - 如何将 Linux 服务器中的 MySQL 表名更改为不区分大小写?

我正在开发一个曾经托管在Apple服务器上的旧网站。当它迁移到新的Linux服务器时,它停止工作。我很确定这是因为php脚本中使用的所有MySQL查询对表名都有不同的大小写组合(我不知道为什么原始开发人员在创建表名或php脚本时没有遵循任何约定)这并不重要,因为Mac和WindowsMySQL服务器默认情况下都不区分大小写。但是,Linux不是。有没有办法改变MySQL上的Linux默认值,使其变得不区分大小写并且像Mac或Windows一样工作?我一直在寻找,但没有找到任何不涉及更改脚本或表名或两者的答案。该网站必须是使用某些CMS生成的,因此有几十个页面,并在每个表和数百个表中包含