我正在尝试让 MYSQL 查询仅显示与 2 个 WHERE 语句匹配的行。
例如
$result=mysql_query("
SELECT *
FROM tablename
WHERE
(column1 IN $phpimplodestring1) OR
(column2 LIKE $phpimplodestring2)
GROUP BY column2
ORDER BY id /* another column */
DESC LIMIT 5
")
到目前为止,我搜索的所有内容都不起作用,经过几周的测试,没有结果。 我尝试过使用mysqli,但在使用它时它似乎根本不起作用。
预先感谢您的帮助! :)
最佳答案
您的问题不是 WHERE 子句。 注意你的聚合,你按column2分组但在选择中声明*。 select 子句必须与聚合子句匹配,并且您甚至没有声明聚合函数。
下面的示例可以工作(取决于您想要什么)
SELECT column2, count(*) as QTD
FROM tablename
WHERE
(column1 IN $phpimplodestring1) OR
(column2 LIKE $phpimplodestring2)
GROUP BY column2
ORDER BY id /* another column */
DESC LIMIT 5
SELECT *
FROM tablename
WHERE
(column1 IN $phpimplodestring1) OR
(column2 LIKE $phpimplodestring2)
ORDER BY id /* another column */
DESC LIMIT 5
SELECT column2, sum(anotherColumn)
FROM tablename
WHERE
(column1 IN $phpimplodestring1) OR
(column2 LIKE $phpimplodestring2)
GROUP BY column2
ORDER BY id /* another column */
DESC LIMIT 5
SELECT distinct *
FROM tablename
WHERE
(column1 IN $phpimplodestring1) OR
(column2 LIKE $phpimplodestring2)
ORDER BY id /* another column */
DESC LIMIT 5
等等...
关于php - 如果列位于另一列中,MYSQL 显示结果就像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22092835/