2016-08-19 66 views
-3

这是MySQL表忽略空组在MySQL

version filename  fileid time(epoch) 
1 abc  NULL 123456 
2 abc  100  234568 
3 abc  100  344568 
4 abc  100  445678 
5 abc  100  554568 

需要的输出

version filename  fileid time(epoch) 
5  abc   100  554568 

试图

SELECT MAX(VESRION), MAX(time), filename, fileid 
FROM table filename, fileid 

闻听此事,但不愿

version filename  fileid time(epoch) 
5  abc   100  554568 
5  abc   NULL  123456 

任何人都可以帮忙吗?

谢谢!

+0

你有没有试过? SELECT MAX(VESRION),MAX(时间),文件名,fileid FROM表文件名,fileid WHERE文件名不为NULL且fileid IS NOT NULL –

+0

而用简单的英语? – Strawberry

+0

您也可以使用“IFNULL”来检查查询中的值 –

回答

0

只需在查询中添加WHERE子句即可。就像这样:

SELECT MAX(VESRION), MAX(time), filename, fileid 
FROM table filename, fileid 
WHERE fileid is not null 
0

您可以用where子句

SELECT MAX(VESRION),MAX(时间),文件名,FILEID FROM表名试试,FILEID 其中的fileid不为空

MySQL SELECT only not null values

+0

如果具有Null的行又落在具有MAX版本或时间的同一组中,该怎么办? –

+0

您可以使用“不过滤”查询来预先过滤掉您不感兴趣的行,然后将having子句应用于该查询 –

0

使用limitorder by

查询

select * from your_table_name 
order by version desc limit 1;