如果您对如果列值相同,则仅选择具有最高id值的行感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如果列值相同,则仅选择具有最高id值的行的详细内容,我们还将为您解答如果列值相
如果您对如果列值相同,则仅选择具有最高id值的行感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如果列值相同,则仅选择具有最高id值的行的详细内容,我们还将为您解答如果列值相同,则仅选择具有最高id值的行数的相关问题,并且为您提供关于Django仅选择具有重复字段值的行、linux – Bash输出具有最高值的行、php – 抓取特定列中具有最高值的行、PHP-选择具有最小时间值的字段信息的有价值信息。
本文目录一览:- 如果列值相同,则仅选择具有最高id值的行(如果列值相同,则仅选择具有最高id值的行数)
- Django仅选择具有重复字段值的行
- linux – Bash输出具有最高值的行
- php – 抓取特定列中具有最高值的行
- PHP-选择具有最小时间值的字段信息
如果列值相同,则仅选择具有最高id值的行(如果列值相同,则仅选择具有最高id值的行数)
如何从表中选择所有内容,并且如果列的值相同,name
则仅选择具有id
最大值的行,因此,如果有这样的表:
id name age country ---+------+---+------- 1 bob 24 UK 2 john 48 USA 3 janet 72 USSR 4 bob 96 Ukraine
它只会选择ID最高的“ bob”,因此结果将返回:
id name age country ---+------+---+------- 2 john 48 USA 3 janet 72 USSR 4 bob 96 Ukraine
谢谢你。
答案1
小编典典您可以使用子查询来计算每个名称的最大ID,然后返回与该子查询返回的ID匹配的所有行:
SELECT *FROM PeopleWHERE id IN (SELECT MAX(id) FROM People GROUP BY Name)
请看这里的小提琴。
Django仅选择具有重复字段值的行
如何解决Django仅选择具有重复字段值的行?
尝试:
from django.db.models import Count
Literal.objects.values(''name'')
.annotate(Count(''id''))
.order_by()
.filter(id__count__gt=1)
这与使用Django所获得的效果非常接近。问题在于这将返回一个ValuesQuerySet
with name
和count
。但是,你可以QuerySet
通过将其反馈给另一个查询来使用它来构造一个常规:
dupes = Literal.objects.values(''name'')
.annotate(Count(''id''))
.order_by()
.filter(id__count__gt=1)
Literal.objects.filter(name__in=[item[''name''] for item in dupes])
解决方法
假设我们在Django中有一个定义如下的模型:
class Literal:
name = models.CharField(...)
...
名称字段不是唯一的,因此可以具有重复的值。我需要完成以下任务:从模型中选择具有至少一个name字段重复值的所有行。
我知道如何使用普通的SQL来做到这一点(可能不是最好的解决方案):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
因此,可以使用django ORM选择它吗?还是更好的SQL解决方案?
linux – Bash输出具有最高值的行
1.gui Qxx 16 2.gui Qxy 23 3.guT QWS 11
我想得到这个:
1.gui Qxy 23 3.guT QWS 11
我用了:
cat file.f | uniq | cut -d" " -f3 | sort | uniq -d >>out.f
但没有得到我想要的东西!?
解决方法
$sort -rk3 file # Sort on column 3,display all results 2.gui Qxy 23 1.gui Qxx 16 3.guT QWS 11 $sort -rk3 file | head -2 # Sort on column 3,filter number of results 2.gui Qxy 23 1.gui Qxx 16 $sort -rk3 file | uniq # Sort on column 3,on display unique results 2.gui Qxy 23 1.gui Qxx 16 3.guT QWS 11
-r反向排序,最高的第一个.
-k3在第3列排序.
如果你只想显示第3列大于某个值(即15)的行,那么使用awk尝试:
awk '$3>15' file | sort -rk3 # display line where column 3 > 15 and sort 2.gui Qxy 23 1.gui Qxx 16
php – 抓取特定列中具有最高值的行
我有一个简单的表,存储与下载绑定的唯一ID.我要做的是生成创建的最新ID的CSV.每次生成密钥时(一次只能有1到100个密钥),UNIX时间戳与这些密钥一起存储.
我生成的CSV文件很好,但我无法使MAX功能正常工作.我的报告生成器如下:
// output headers so that the file is downloaded rather than displayed
header('Content-Type: text/csv; charset=utf-8');
header('Content-disposition: attachment; filename=codes.csv');
// create a file pointer connected to the output stream
$output = fopen('PHP://output', 'w');
// output the column headings
fputcsv($output, array('Unique Codes'));
// fetch the data
/** database username and pass removed **/
$rows = MysqL_query('SELECT uniqueid FROM downloadkeys');
// loop over the rows, outputting them
while ($row = MysqL_fetch_assoc($rows)) fputcsv($output, $row);
解决方法:
select uniqueid
from downloadkeys
where creationTime = ( select max(creationTime)
from downloadkeys )
或者如果你喜欢加入
select uniqueid
from downloadkeys
inner
join ( select max(creationTime) maxCreationTime
from downloadkeys ) dk
on creationTime = dk.maxCreationTime
PHP-选择具有最小时间值的字段信息
大家好,我想我做对了,但结果却一直是错误的.我试图简单地找到带有最小时间的条目的ID,但是我没有得到该条目.
$qryuserscount1="SELECT id,min(entry_time) FROM scrusersonline WHERE topic_id='$topic_id'";
$userscount1=MysqL_query($qryuserscount1);
while ($row2 = MysqL_fetch_assoc($userscount1)) {
echo $onlineuser= $row2['id'];
}
那是我的查询,它不起作用.但是这样做确实对我没有意义
从scrusersonline那里选择SELECT id,在topic_id =’$topic_id’之前按entry_time LIMIT 1订购,有人可以快速指出我在做什么错吗?
解决方法:
SELECT id,min(entry_time) FROM scrusersonline WHERE topic_id='$topic_id'
因为没有group-by子句可以从中选择min(entry_time),所以将为与topic_id匹配的每一行返回id和entry_time. SELECT子句仅定义要返回的列,它不限制行的选择-这就是WHERE子句的目的.
SELECT id FROM scrusersonline WHERE topic_id='$topic_id' ORDER BY entry_time LIMIT 1
当按entry_time排序时(这是最小值),将仅对第一个(LIMIT 1)个匹配的topic_id(WHERE topic_id =’$topic_id’)返回ID(SELECT ID).
因此,是的,从scrusersonline的SELECT id中寻找topic_id =’$topic_id’ORDER BY entry_time LIMIT.
关于如果列值相同,则仅选择具有最高id值的行和如果列值相同,则仅选择具有最高id值的行数的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Django仅选择具有重复字段值的行、linux – Bash输出具有最高值的行、php – 抓取特定列中具有最高值的行、PHP-选择具有最小时间值的字段信息的相关知识,请在本站寻找。
本文标签: