一个表包含四列“server”,“directory”,“usage”和“datetime”。所有服务器共有10个目录。我需要获取服务器的数据,这是任何一天中最新日期时间的用法。 例如,如果存在具有目录B的服务器A,那么将在几天内多次使用。我需要查询报告所有服务器的数据,这是每天最新条目的所有相应目录的使用情况。
答案 0 :(得分:1)
如果我正确理解了您的问题,您希望查看每个服务器和目录的最后用法。给定一个名为“usagestats”的表,其中给定的列为:
SELECT a.server, a.directory, a.`usage`, a.datetime
FROM usagestats as a INNER JOIN (
SELECT server, directory, max(datetime) datetime
FROM usagestats
GROUP BY server, directory
) AS b ON (
a.server = b.server
and a.directory = b.directory
and a.datetime = b.datetime
)
ORDER BY a.server, a.directory, a.datetime
答案 1 :(得分:0)
我不确定我是否理解你的问题。
MySQL具有IF()函数,它根据第一个参数中的条件返回一个语句。
如果要从数字较大且只有2列的列中选择数据 - 请使用如下的IF语句:
SELECT
if(columnA > columnB, columnA , columnB) as grtColumn,
if(columnA > columnB,'columnA is bigger', 'columnB is bigger') as whichColumnWasGrt
from yourtable;
帮助:mysql reference - if() function(有IF语句和IF()函数 - 不同的thigs!