gpt4 book ai didi

php - MySQL - 在任一列中查找对

转载 作者:行者123 更新时间:2023-11-29 06:48:33 24 4
gpt4 key购买 nike

我有一个非常大的表,名为 fullNames:

+----+-----------+----------+--------+
| id | name1 | name2 | count |
+----+-----------+----------+--------+
| 1 | Homer | Simpson | 2 | <-- Homer clicked Simpson's name 2 times
| 2 | Bart | Simpson | 1 | <-- Bart clicked Simpson's name once
| 3 | Simpson | Bart | 4 | <-- Simpson clicked Bart's name 4 times
......................................
......................................
| 80 | Steven | Baldwin | 7 | <-- Steven clicked Baldwin's name 7 times
| 81 | Alec | Baldwin | 6 | <-- Alec clicked Balwin 6 times, but there's NO relationship w/ Steven's clicks
+-------+--------+----------+--------+

本质上,我需要能够确定给定用户 (name1) 点击给定名称 (name2) 的次数,然后确定相反的结果 - 如何name2 多次点击 name1。当 Simpson 加载他的页面时,他应该会看到根据包含他的名字的匹配对的组合 count 排序的名字列表。该列表看起来像这样:

Bart       5
Homer 2

单击时,我可以毫无问题地将它插入表中,但是我不知道如何查询这样的东西...我想它最终需要作为 JSON 对象/数组出现,所以这可以制作成 native 移动应用程序,所以如果您也想解决这个问题,可以加分!

最佳答案

对于 Simpson,您希望包括任一名称为“Simpson”的行,但您要选择(并计入)的名称是“非 Simpson”名称。你可以这样做:

SELECT
CASE WHEN Name1 <> 'Simpson' THEN Name1 ELSE Name2 END AS ClickName,
SUM(count) AS ClickCount
FROM fullNames
WHERE 'Simpson' IN (Name1, Name2)
GROUP BY CASE WHEN Name1 <> 'Simpson' THEN Name1 ELSE Name2 END
ORDER BY ClickCount DESC

关于php - MySQL - 在任一列中查找对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113700/

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