Java 我们需要的是;前五名;id';s";从这个查询
我有人帮我,而且已经接近了,我需要从这个查询中获得前五个“id”。现在的情况是,我只拿到了一张身份证,而不是前五名。有人知道怎么纠正吗?以下是查询:Java 我们需要的是;前五名;id';s";从这个查询,java,mysql,Java,Mysql,我有人帮我,而且已经接近了,我需要从这个查询中获得前五个“id”。现在的情况是,我只拿到了一张身份证,而不是前五名。有人知道怎么纠正吗?以下是查询: ( SELECT id, firstName, lastName, SUM(fileSize) AS TotalBytes, SUM(fileSize)/COUNT(*) AS Average FROM roster_cs368 AS a JOIN htmp_cs368 AS b USING (id)
(
SELECT id,
firstName,
lastName,
SUM(fileSize) AS TotalBytes,
SUM(fileSize)/COUNT(*) AS Average
FROM roster_cs368 AS a
JOIN htmp_cs368 AS b USING (id)
) UNION (
SELECT id,
firstName,
lastName,
SUM(fileSize) AS TotalBytes,
SUM(fileSize)/COUNT(*) AS Average
FROM roster_cs368 AS a
JOIN atmp_cs368 AS b USING (id)
)
ORDER BY TotalBytes DESC
LIMIT 5
谢谢大家!!这也是更大程序的一部分,因此是java标记
以下是模式:
mysql> select * from roster_cs368
-> ;
+--------+-----------+-----------+
| id | firstName | lastName |
+--------+-----------+-----------+
| apn7cf | Allen | Newton |
| atggg3 | andrew | goebel |
主键在哪里
mysql> select * from htmp_cs368;
+------------+----------+------------+----------+----------+-------+------+-------+----------------------+
| filePerms | numLinks | id | idGroup | fileSize | month | day | time | fileName |
+------------+----------+------------+----------+----------+-------+------+-------+----------------------+
| drwx------ | 2 | schulte | faculty | 289 | Nov | 7 | 2011 | Java |
| -rw-r--r-- | 1 | schulte | faculty | 136 | Apr | 29 | 2012 | LD |
| drwxr-xr-x | 3 | schulte | faculty | 177 | Mar | 20 | 2012 | Upgrade |
这里没有主键
mysql> select * from atmp_cs368;
+------------+----------+--------------+----------+----------+-------+------+-------+-----------------------------+
| filePerms | numLinks | id | idGroup | fileSize | month | day | time | fileName |
+------------+----------+--------------+----------+----------+-------+------+-------+-----------------------------+
| drwxr-xr-x | 2 | remierm | 203 | 245 | Sep | 17 | 14:40 | 148360_sun_studio_12 |
| drwx---rwx | 31 | antognolij | sasl | 2315 | Oct | 24 | 12:28 | 275 |
| -rwx------ | 1 | kyzvdb | student | 36 | Sep | 19 | 13:05 | 275hh |
这里没有主键
我的问题是:
produce a list of the five members of roster_cs368,
and their ids who use the most space (number of bytes)
in htmp_cs368 and atmp_cs368 in descending order--
greediest first. display total number of bytes and
average size of file
您可以这样做:
SELECT * FROM(
(
SELECT id,
firstName,
lastName,
SUM(fileSize) AS TotalBytes,
SUM(fileSize)/COUNT(*) AS Average
FROM roster_cs368 AS a
JOIN htmp_cs368 AS b USING (id)
) UNION (
SELECT id,
firstName,
lastName,
SUM(fileSize) AS TotalBytes,
SUM(fileSize)/COUNT(*) AS Average
FROM roster_cs368 AS a
JOIN atmp_cs368 AS b USING (id)
)
) as somealias ORDER BY TotalBytes DESC
LIMIT 5
定义前5名。。。也许和我们分享这个模式,给我们一个预期输出的例子,实际输出是什么,等等on@Tim添加了模式和查询。我感谢您的帮助,但它给了我一个错误
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用near'FROM((选择id、firstName、lastName、SUM(fileSize))的正确语法作为第1行的TotalByt,它有一个错误,我已经用一个固定版本更新了我的答案,请尝试。仍然只有1个用户,然后为空。我已经更新了我的原始帖子以包含架构。