草庐IT

Distinct

全部标签

mySQL - 在两列中选择唯一值

我真的找不到通过sql从数据库(mySQL)获取唯一数据的简单甚至任何解决方案。我给个例子(简体):表tfruit|color|weight-----------------------apple|red|34kiwi|red|23banana|yellow|100kiwi|black|3567apple|yellow|23banana|green|2345pear|green|1900现在我想要输出-像distinct(apple)和distinct(color)这样的东西一起排序重量描述:kiwi|black|3567banana|green|2345apple|red|34梨|绿

mysql - 获取 mysql 中不同重复 ID 的计数

这是查询selectcount(*),ss.pname,ttu.user_id,ttl.location_name,group_concat(em.customer_id),count(em.customer_id)fromsesealasss,track_and_trace_userasttu,track_and_trace_locationasttl,eseal_mappingasemwheress.real_id=em.e_idandem.user_id=ttu.user_idandttu.location_id=ttl.location_idgroupbyss.pname,tt

MySQL:选择问题

有两个表:wes-contains8000rows,with2000distinctmasternames(masternameisacolumninwes)wem-contains2100rows,with2100distinctnames(nameisacolumninwem)我正在尝试获取wem中存在的名称,但不是wes中的主名称:SELECTnameFROMwemWHEREnameNOTIN(SELECTDISTINCTmasternameFROMwes)但出于某种原因,我的查询没有返回任何行,即使wem中有大约100个名称在wes中不作为主名称存在。有什么问题吗?谢谢!

mysql - 在大 View 上优化 MySQL GROUP BY 或 DISTINCT

考虑一个由多个表组成的View...例如v_active_car,它由连接到body的表car组成>、engine、wheels和stereo。它可能看起来像这样:v_active_carsViewSELECT*FROMcarINNERJOINbodyONcar.body=body.body_idINNERJOINengineONcar.engine=engine.engine_idINNERJOINwheelsONcar.wheels=wheels.wheels_idINNERJOINstereoONcar.stereo=stereo.stereo_idWHEREcar.active

mysql - 从 MySQL 中具有不同列的表的多个连接结果中删除重复项

我正在尝试通过一条语句从3个相关表中提取数据(因为它们都共享一个公共(public)字符串索引)。我无法阻止MySQL返回两个表的乘积,从而使结果集比我想要的大得多。每个表都有不同数量的列,无论如何我宁愿不使用UNION,因为每个表中的数据都是独立的。这是一个例子:表X是主表,有字段AB。表Y有字段ACD。表Z有字段AEFG。-我理想的结果应该是这样的形式:A1B1C1D1E1F1G1A1B2C2D2000000A2B3C3D3E2F2G2A2B40000E3F3G3等...-这是我尝试过的最简单的SQL,它显示了我的问题(也就是说,它返回由A中的数据索引的Y*Z的乘积:SELECTD

mysql - 如何避免截然不同

我有一个在使用DISTINCT时有效的查询。但是我有一种感觉,我可以用一种可以帮助我避免使用DISTINCT的方式重写查询,这将使数据库更容易(更快)处理查询。如果重写查询没有意义,请解释,如果有,请查看简化的查询并给我提示如何重新制定它,这样我就不会首先得到重复项。SELECT Us.user_id, COUNT( DISTINCT Or.order_id ) AS ordersFROM users AS UsLEFT JOIN events AS Ev ON Ev.user_id = Us.user_idLEFT JOIN orders AS Or ON Or.event_id =

mysql - SQL:在 SUM 中添加一个 Distinct

我有一张table,上面有一些table:name|test_date|score-----------------------jon|2012:07:01|95jon|2012:07:01|60jon|2012:07:01|30alex|2012:07:01|80alex|2012:07:01|85alex|2011:05:01|40emile|2011:01:01|89我想为每个名字获取一些行,并使用规则提供有关他的score_grading的信息:得分>79=A,80>分数>49=B否则C.问题是,我想要:如果在同一天有多个相同的score_grade为一个学生,那么它将被计为一

MySQL - 如何选择 'DISTINCT' 重叠周期(日期或数字范围)

简而言之,如果查询告诉我A与B重叠,那么我不需要它也告诉我B也与A重叠,因为它们彼此重叠。所以我尝试在sql中使用自连接来选择“不同的”重叠部分。为了说明,这是我编写的一个简单的SQLfiddle,用于显示包含重叠选择(http://sqlfiddle.com/#!9/7af84f/1)详细...假设我有一个name(char),d1(int),d2(int)的表,其架构如下。这里d1和d2代表某个区间的开始和结束,这些区间可能与同一个表中的另一个区间重叠。CREATETABLEtest(letterchar,d1int,d2int);鉴于此表,我用一些值填充它INSERTINTOte

sql - 如何从 MySQL 表中检索 10 个最新的 DISTINCT IP?

我有一个包含pagehit(规范化)数据的表,我需要获取10个最新的唯一ips。我试着这样做:SELECT*FROMspy_hitsORDERBYdatedescGROUPBYipLIMIT10;这应该给我这个结果:+-----+------------+-----+---------+----+------+------+---------+-------+-------+|id|date|ip|browser|os|page|host|referer|query|agent|+-----+------------+-----+---------+----+------+------

mysql - SQL查询以获取表中所有不同项目的最新记录

我有一个包含所有销售额的表格,定义如下:mysql>describesaledata;+-------------------+---------------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------------------+---------------------+------+-----+---------+-------+|SaleDate|datetime|NO||NULL|||StoreID|bigint(20)unsigned|NO||NULL|||Qu