gpt4 book ai didi

php - SQL - 根据单独表中相关条目的计数选择记录

转载 作者:行者123 更新时间:2023-11-29 08:22:03 25 4
gpt4 key购买 nike

所以我确信我是特别密集 - 但我正在努力解决 PHP 中的简单 (mysql) SQL 语句。

我有两个表:

  • entry 包含竞赛参赛作品的名称和详细信息。
  • 投票包含时间戳、唯一ID和entry_id。 Entry_id 与条目 ID 匹配的每一行代表对该人的竞赛条目的一票。

粗略的数据库结构是:

条目表:

|id|name|email|created|deleted|   [last two cols being datetime stamps]

投票表:

|id|entry_id|created|deleted|

我的尝试(各种重写,可能太累了!)导致只返回一行。

我最近的尝试:

$sql = 'SELECT
s_id,
count(sv.s_id) as count
FROM
'vote AS sv
LEFT JOIN
'entry AS se on sv.entry_id = se.id
WHERE
sv.deleted = "0000-00-00 00:00:00"
AND
se.deleted = "0000-00-00 00:00:00"
ORDER BY
count DESC
LIMIT
10';

有人可以指导我如何最好地实现这一目标吗?

我的目标是返回前十名条目(按投票计数),计数包含在返回数据中。

谢谢!

史蒂夫

最佳答案

怎么样

SELECT e.id, COUNT(v.id) AS numVotes
FROM entry AS e
JOIN vote AS v ON v.entry_id = e.id
WHERE e.deleted = "0000-00-00 00:00:00"
AND v.deleted = "0000-00-00 00:00:00"
GROUP BY e.id
ORDER BY numVotes DESC
LIMIT 10

关于php - SQL - 根据单独表中相关条目的计数选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com