草庐IT

distinct

全部标签

mysql - 获取 mySql 中不同计数的计数

我有两张表,一张用于团队,一张用于玩家我想找出的是总人数表,换句话说,我想计算拥有2名成员的团队总数,所有拥有3名成员等的团队数量这是数据库结构。(边栏问题:我是这里的新手:有没有更好的方法来发布SQL?)CREATETABLE`formsfiles`.`Teams`(`ID`INTNOTNULLAUTO_INCREMENT,`Name`VARCHAR(45)NULL,PRIMARYKEY(`ID`));INSERTINTO`Teams`(`Name`)VALUES('Sharks');INSERTINTO`Teams`(`Name`)VALUES('Jets');INSERTINTO

php - 选择 DISTINCT 或 array_unique?

你认为什么更快?SELECTDISTINCT(user_id)FROMmyTable;然后获取到$myArray。或者SELECTuser_idFROMmyTable;然后获取到$myArray并执行$myArray=array_unique($myArray);注意:user_id是一个FOREIGNKEYCONSTRAINT 最佳答案 为了提高速度和内存效率,您希望从数据库中返回最少数量的数据,而不是为了处理/内存效率而放置不必要的行。因此,在这种情况下,distinct是更好的选择。

php - 在 MySQL 中使用 distinct 函数

这听起来像是一个奇怪的问题,但我正在尝试使用distinct子句来获取数据库中的所有名称,但是我希望名字是唯一的表结构idfnamelnamehaircolor1johndoebrown2bobseagalblonde3kevinsmithred4bobdoegreenDesiredoutputjohndoebrownbobseagalblondekevinsmithredIhavetriedSELECTfname,lname,haircolorFROMMainTableINNERJOIN(selectdistinctframefromMainTable)asNamesONMainTa

php - SELECT DISTINCT 名称但返回所有数据

所以我有一张满是汽车的table:假设有4辆道奇毒蛇,数据库中将有4个条目,除了carID之外都相同。carID|carname|carmodel|colour|reg--------------------------------------------------1|viper|dodge|red|1232|viper|dodge|red|1243|viper|dodge|red|1254|viper|dodge|red|1265|R8|audi|blue|1276|R8|audi|blue|128当用户搜索汽车时,我只想显示一辆道奇毒蛇。但是,我想从该行以及其他所有不同的汽车中提

mysql - 在 MySQL 查询中,DISTINCT 是在 GROUP BY 之前还是之后应用的?

下面是我正在运行的查询。DISTINCT是在GROUPBY之前还是之后应用?表格如下所示:id,stateid不是唯一的,一个实体可以有多个状态相同或不同的条目。这种行为可能会彻底改变我的结果。如果在GROUPBY之前应用DISTINCT,那么在整个集合中它只会对每个entity计数一次(只会出现在一个状态)。如果它发生在之后,那么每个实体在每个状态中只会被计算一次,但可以在多个状态中被计算。SELECTstate,COUNT(DISTINCTentity_id)AScountFROMentitiesGROUPBYstateORDERBYcountDESC;我的目标是在每个state中

mysql - 选择具有不同值和最大日期的行

我有一个包含三列的MySQL(5.1.49)表。mysql>createtabletestme(idintauto_increment,id2intnotnull,somedatedatetime,primarykey(id));在我的例子中,id2不是唯一的,但我想返回具有不同id2值且最大somedate的行。这是一些示例数据。mysql>insertintotestmevalues(1,5,'2012-01-0201:01:01'),(2,5,'2012-02-0202:02:02'),(3,7,'2010-01-1011:01:33');这question几乎回答了我的问题,但

mysql不同的行或不同的字段

这之间是否存在性能或其他差异:SELECTdistinct(users.id),2assomeFieldName,0assomeOtherFieldNameFromusersjoin...还有这个:SELECTdistinctusers.id,2assomeFieldName,0assomeOtherFieldNameFromusersjoin...结果集用作插入语句的一部分,由于连接(此处未显示),选择可能会多次返回同一用户ID我正在使用mysql。 最佳答案 没有“不同的字段”这样的东西。您的第一个语法与第二个语法的解析相同:括

mysql - 如何统计mysql中的非重复列?

例如:使用selectquery我得到以下结果:columnAcolumnBtype1typeatype2typeatype3typebtype4typectype5typedtype6typedtype7typed使用DISTINCT我只得到了distinctresult,但我还想得到每个distinct的总数。现在我想获得总数typea,typeb,typecandtyped.就像:columnBtotaltypea2typeb1typec1typed3非常感谢!! 最佳答案 您可以使用GROUPBY按类型获取结果:SELECT

mysql - 如何获得具有最大值的不同行

我很抱歉问什么必须非常简单才能解决,但我似乎无法解决这个问题..我什至无法为我的问题想出一个真正合适的标题,请原谅也是如此。我有一个民意测验,每个用户可以对一个问题发布多个答案,然后其他人对这些答案进行投票。我需要得到一个结果,其中返回每个用户投票最高的答案。测试用例:让我们假设一个问题,例如“您最喜欢的歌曲名言是什么?”CREATETABLE`answers`(`id`INTNOTNULLAUTO_INCREMENTPRIMARYKEY,`authorId`INT,`answer`TEXTNOTNULL,`votes`INTNOTNULL)ENGINE=MYISAMCHARACTER

mysql - 'IS DISTINCT FROM' 是真正的 MySQL 运算符吗?

在一本书中我看到了这样的语法:SELECT*FROMinwWHEREidISDISTINCTFROM4;但是我得到一个错误:ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DISTINCTFROM4'atline1它是一个替代品:mysql>SELECT*FROMinwWHEREidisnullORid4;+------+|id|+------+|NULL||NULL||3|+---