mysql - 在 MySQL 中进行计数

标签 mysql sql join aggregate-functions

我有以下两个表 -- userprofile 和 videoinfo。 videoInfo 有一个 FK 到 userprofile。

CREATE TABLE `userprofile_userprofile` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `full_name` varchar(100) NOT NULL,
   ...
 )

CREATE TABLE `userprofile_videoinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(256) NOT NULL,
  `uploaded_by_id` int(11) NOT NULL,
  ...
  KEY `userprofile_videoinfo_e43a31e7` (`uploaded_by_id`),
  CONSTRAINT `uploaded_by_id_refs_id_492ba9396be0968c` FOREIGN KEY (`uploaded_by_id`) REFERENCES `userprofile_userprofile` (`id`)
)

我将使用什么 SQL 语句来显示每个用户配置文件拥有的视频数并按 COUNT 排序?

最佳答案

SELECT u.id as userId, count(v.uploaded_by_id) as videosCount
FROM userprofile_userprofile u
    LEFT OUTER JOIN userprofile_videoinfo v
        ON v.uploaded_by_id = u.id
GROUP BY u.id
ORDER BY count(v.uploaded_by_id) DESC

关于mysql - 在 MySQL 中进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575669/

相关文章:

mysql - phpMyAdmin 无法正确显示或插入 Unicode 字符到数据库中

sql - hive 连接

mysql - 这可以通过一个 MySQL 查询来完成吗?

android - 如何将两个数据库表中的数据合并到一个 listView 中

mysql - 如何从2个表中获取所有数据

mysql - 连接表时需要更快的 FIND_IN_SET 替代方案

php - 引用用户并相应地限制 TableView CRUD 应用程序

mysql - mysql中是否有机制来限制基于任意值的INSERT

php - 与另一个表没有关系的 LeftJoin 别名创建问题 Doctrine Symfony

java - ORA-02289 : sequence does not exist - Error selecting key or setting result to parameter object