Php 在准备语句的where子句中使用计数值
我正在尝试创建一个语句,该语句将返回按(Php 在准备语句的where子句中使用计数值,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我正在尝试创建一个语句,该语句将返回按(用户名、事件标题和事件目标)分组并按该计数排序的事件目标的计数 换句话说,totalsum是(username、event\u title和event\u target)都是相同值的行数 问题是结果在DESC中不是按totalsum排序的 $stmt = $db->prepare("SELECT *, COUNT(`event_target`) 'totalsum' FROM `testdb` WHERE `account_id` = ? GROUP
用户名、事件标题和事件目标)分组并按该计数排序的事件目标的计数
换句话说,totalsum
是(username、event\u title和event\u target
)都是相同值的行数
问题是结果在DESC中不是按totalsum排序的
$stmt = $db->prepare("SELECT *, COUNT(`event_target`) 'totalsum' FROM `testdb` WHERE `account_id` = ? GROUP BY `username`, `event_title`, `event_target` ORDER BY 'totalsum' DESC");
$stmt->execute(数组($\会话['user']['account\u id'])
$stmt->execute(数组($\会话['user']['account\u id'])
我遇到了另一个问题。我之所以询问totalsum
的条件,是因为这是对搜索函数的修改。所以典型的搜索查询可能如下所示:
SELECT *, COUNT(`event_target`) 'totalsum' FROM `testdb` WHERE `account_id` = ? GROUP BY `username`, `event_title`, `event_target` ORDER BY 'totalsum' DESC
如何为totalsum
添加or条件?这可能是一个不好的例子,但如果有人搜索“6”,那么任何值为6的totalsum
结果也应该返回。在一个完美的世界里,我希望能够做到:
SELECT *, COUNT(`event_target`) `totalsum` FROM `testdb` WHERE `account_id` = ? GROUP BY `username`, `event_title`, `event_target` ORDER BY `totalsum` DESC
您对totalsum
使用了错误的引号:
SELECT *, COUNT(`event_target`) `totalsum` FROM `testdb` WHERE `account_id` = ?
GROUP BY `username`, `event_title`, `event_target` HAVING `totalsum`=6
应该是:
SELECT
*,
COUNT(`event_target`) 'totalsum'
FROM
`testdb`
WHERE
`account_id` = ?
GROUP BY
`username`,
`event_title`,
`event_target`
HAVING
COUNT(`event_target`) = 6
ORDER BY
'totalsum' DESC
尽管在这里,如果你想的话,你可以把它们删掉
要按totalsum
筛选结果,可以执行以下操作:
您对totalsum
使用了错误的引号:
SELECT *, COUNT(`event_target`) `totalsum` FROM `testdb` WHERE `account_id` = ?
GROUP BY `username`, `event_title`, `event_target` HAVING `totalsum`=6
应该是:
SELECT
*,
COUNT(`event_target`) 'totalsum'
FROM
`testdb`
WHERE
`account_id` = ?
GROUP BY
`username`,
`event_title`,
`event_target`
HAVING
COUNT(`event_target`) = 6
ORDER BY
'totalsum' DESC
尽管在这里,如果你想的话,你可以把它们删掉
要按totalsum
筛选结果,可以执行以下操作:
试试这个:
试试这个:
有从句怎么样?有从句怎么样?学到了一些新东西。。。类似于拥有计数(
事件目标)的东西也像一些值一样工作吗?哼,你正在使用like比较一个整数,你最好使用拥有计数(事件目标)在5和7之间学习一些新东西。。。类似于拥有计数(
事件\目标)和类似于某个值的东西是否也起作用?哼,您正在使用like比较一个整数,您最好使用拥有5到7之间的计数(事件\目标)
SELECT *, COUNT(`event_target`) 'totalsum' FROM `testdb` WHERE `account_id` = ? GROUP BY `username`, `event_title`, `event_target` ORDER BY 'totalsum' DESC
SELECT *, COUNT(`event_target`) `totalsum` FROM `testdb` WHERE `account_id` = ? GROUP BY `username`, `event_title`, `event_target` ORDER BY `totalsum` DESC
SELECT *, COUNT(`event_target`) `totalsum` FROM `testdb` WHERE `account_id` = ?
GROUP BY `username`, `event_title`, `event_target` HAVING `totalsum`=6
SELECT
*,
COUNT(`event_target`) 'totalsum'
FROM
`testdb`
WHERE
`account_id` = ?
GROUP BY
`username`,
`event_title`,
`event_target`
HAVING
COUNT(`event_target`) = 6
ORDER BY
'totalsum' DESC