mysql – 计算多个值的不同行数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 计算多个值的不同行数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1232字,纯文字阅读大概需要2分钟。
内容图文
让我们考虑一下这个表格,说明一个人购买房产的次数.
+--------+----------+
| user | property |
+--------+----------+
| john | car |
| john | car |
| john | house |
| peter | car |
| peter | car |
| amanda | house |
| amanda | house |
+--------+----------+
我需要知道一次购买汽车的次数,一次购买房屋的次数,等等.这样的事情:
+----------+---+---+
| property | 1 | 2 |
+----------+---+---+
| cars | 4 | 2 |
| house | 3 | 1 |
+----------+---+---+
>一辆车买了多少次?四,两个为彼得,两个为约翰.
>两次购买汽车多少次?二,对于同一个人.
>房子买了多少次?三,两个为阿曼达,一个为约翰.
>房子被买了两次多少次?阿曼达只有一次
这可能只使用SQL查询吗?
>我不关心表现或hackish方式.
>有两个以上的频率.
>一个人可以购买房产的固定时间(5),因此在查询中手动指定列并不成问题.我的意思是做以下事情没有问题:
SELECT /* ... */ AS 1, /* ... */ AS 2, /* ... */, AS 3 /* ... */
解决方法:
SELECT DISTINCT @pr := prop,
(SELECT COUNT(1) FROM tbl WHERE prop = @pr LIMIT 1),
(SELECT COUNT(1) FROM
(SELECT *, COUNT(*) cnt
FROM tbl
GROUP BY usr, prop
HAVING cnt = 2) as tmp
WHERE `tmp`.prop = @pr LIMIT 1)
FROM tbl;
是的,这不是最好的方法;但是,嘿,你可以得到你想要的答案.
此外,它还会为表格中的任何类型的属性生成结果.
小提琴链接lies here.
P.S.:60次尝试O_O
内容总结
以上是互联网集市为您收集整理的mysql – 计算多个值的不同行数全部内容,希望文章能够帮你解决mysql – 计算多个值的不同行数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。