繁体   English   中英

用于获取多个值的Django MySQL独特查询

Django MySQL distinct query for getting multiple values

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

不幸的是,我有一个MySQL数据库与Django 1.4.1一起使用。 如果我做对了,不同的功能仅适用于POSTGRESQL。

我必须创建一个由多个值组成的独特查询,而只有一个值,

喜欢; 这个适用于POSTGRE而不适用于MYSQL,我收到以下错误;

此数据库后端不支持DISTINCT ON字段

staff = Staff.objects.order_by('person__full_name').distinct('person__full_name')

然后我试了一下

staff = Staff.objects.values('person__full_name','staff_job_categories').distinct().order_by('person__full_name')

但我没有得到明确的价值观,因为我也得到了员工职位类别。 但是当我不包含它时,我无法将其作为数组。

任何的想法 ?

2 个回复

.distinct([*fields])仅适用于PostgresSQL。

来自不同的文档

这是区别。 对于正常的distinct()调用,数据库在确定哪些行是不同的时比较每行中的每个字段。 对于具有指定字段名称的distinct()调用,数据库将仅比较指定的字段名称。

如上所述,检查记录中的所有字段。 在您的情况下,您很可能获得具有不同字段值的记录(如果您查询多个表ManyToMany或ForeignKey关系,则更有可能出现这种情况)。

对于合并为数组,您可以参考您之前的问题Django Query不同的值工作,但我不能使用查询结果

names = Staff.objects.order_by('person__full_name').values('person__full_name').distinct()

会给你不同的全名,你可以做类似的事情来获得不同的工作类别。

这些将为您提供值列表,而不是对象本身,但如果我正确解释您的问题,那么我认为这些将为您提供您想要的。

1 查询值与众不同,mysql,django

我有用户,问题和答案的模型。 现在,我想显示问题,哪个用户回答了。 我在views.py中写这个: 并在模板中: 我看到2个问题重复了5次,最后是hr线。 我希望看到2个问题,即使用户对5个答案回答了5次,所以我尝试这样做: 但是,当我打开页面时,由于某些原因, ...

2 MySQL查询-获取不同的值

有一个包含数据的表“ T”,如下所示: 假设给定的输入集{3,8}作为A的值,如何检索B的所有不同值,其中输入集中的所有值都有一个条目? 编辑:我认为问题还不够清楚。 我希望B中的值具有记录,该记录中具有给定集合中的所有值作为A列的值。因此,将不包括B = 6,因为不存在A = ...

2009-10-13 15:14:51 2 145   mysql
3 MySQL查询:为此查询获取不同的值

我想获取所有具有item_id = 100 AND item_id = 200的不同user_id。 在这种情况下,正确的结果将是1。但是在这种简化的情况下,我的SQL查询的外观如何? 表: ...

2018-04-10 11:06:21 3 35   mysql
5 MySQL查询不同+多个

我想做这个查询: 但是我希望它返回DISTINCT b.guids。 表的结构: 基本上,我想选择所有数据(对更深的内部联接有限制)并返回DISTINCT引导 谢谢! ...

6 使用 MySql 查询不同的值 Django 并保持外键关系

我在 MySQL 数据库中有两个表。 一张具有不同船只的表格和一张具有外键关系的船只位置的表格(父母:船只,孩子:地点)。 现在我想在模板中显示带有位置的表格中的不同船只。 不幸的是,distinct 不适用于 MySQL,如果我使用 values(),那么我会丢失外键关系。 我怎样才能解决这个问题 ...

7 MySQL查询以查找列中的不同值并获取总和

我的电影DVD很少,想在MySQL中创建一个简单的数据库。 PF数据库结构。 正在使用一个MySQL查询,但实际上并未列出确切的编号。 我正在看电影。 下面的查询是- 数据库结构- 它显示13个结果,而不是DB中的18个电影。 我搜索了您的问题列表,但没有找到合适的答案 ...

2013-09-17 16:07:20 1 117   mysql
8 跨多个表获取不同值的计数(MySQL)

我有一个基本看起来像这样的数据库: 我想做的是根据工作人员或演员的参与制作数量,确定给定部门的前10名人员。 一个人既可以同时担任职员又可以在给定的作品中担任演员,因此仅获得两个COUNT并不能给出准确的数字。 我的查询如下所示: 当我尝试运行它时,出现错误,提示“ FR ...

9 MySQL查询表,其中不同的值与多个行相关

我有一个人桌。 一个人可能有多个孩子或被抚养人,也都是人。 因此,人员表之间存在一对多的关系。 我想让所有有一个或多个孩子的人。 但是,查询仅返回每个父级的第一个匹配子级,而不是全部返回。 查询如何更改才能返回所有查询? 我期待更像表格的东西 人员表没有什么非常复杂 ...

10 从查询中获取不同的值

我在 sql 服务器上。 我的目标是根据名称字段中的第一个空格解析名称字段,然后获得一个不同的名称列表 我用下面的代码解析了名字 我无法从上述查询结果中获取不同的名称列表。 有人会告诉我这样做的正确语法是什么吗? 例如 如果mytable有以下数据 我希望不同的最终查询输出看起来像这样 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM