下面是我正在使用的SQL语句。
$sql = "SELECT surname, forename, count(*) FROM people WHERE user_id='$user_id'
GROUP BY surname ORDER BY time";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
if($count > 0){
while($row = mysql_fetch_array($result)) {
$i = $i +1;
$person[$i
我正在使用MySQL,并且我有一个在列中包含日期的表(我正在为一个类制作一个包含到期日期的表)。在此之前,我的查询如下:
SELECT * FROM duedates_f2011 ORDER BY anothercolumn
为了防止重复出现(基于duedate列),我必须将其更改为:
SELECT * FROM duedates_f2011 GROUP BY duedate
目前,它保留了相同的顺序,但是我如何保证它仍然会这样做呢?在我读过的GROUP BY教程中,没有任何东西表明它仍然会对其进行排序,而且在之后添加ORDER BY语句也是不正确的。我是否遗漏了什么,或者我应该添加其他什么以
我有一个名为temp的简单表,它有三列和以下数据:
# c1 c2 v
1 1 'a'
1 2 'b'
1 1 'b'
1 2 'a'
我运行这个查询:
SELECT
t01.c1,
t01.c2,
COUNT(DISTINCT v) AS cnt
FROM
(
SELECT
FLOOR(c1) AS c1,
FLOOR(c2) AS c2,
v
FROM
temp
) AS
当我使用mysql时,我得到了这个错误,请任何人给我解释一下。下面的A,B,C之间有什么不同?
A) select * from table where a=a group by(b) // this execute & work fine
B) select * from table where a=a group by b,c // this execute * work fine
c) select * from table where a=a group by (b,c) // this is giving an error - error is operand should
我有以下SQL代码,它在小数据集上工作得很好。我有一个朋友告诉我,我应该考虑使用SELECT DISTINCT c.name作为循环条件,将其放入MySQL中的FOR循环中。
SELECT c.name, c.limit, c.price, c._low, c._high, c.date
FROM comp c
WHERE c.e_id IN
(SELECT e_id FROM part_e WHERE core_id=23)
OR c.pn IN
(SELECT pn FROM part_ct WHERE core_id=23)
GROUP BY c.name
ORDER BY c.dat
有没有一种方法可以根据值在mysql列中出现的频率对数据进行排序,并使它们成为DISTINCT。因此,如果表中有一个颜色列,如下所示:
colors
------ ----
red |
blue |
red |
green |
blue |
red |
yellow|
blue |
green |
red |
结果将是:
red
blue
green
yellow
红色出现4次,蓝色3次,绿色2次,黄色1次。谢谢
在我的旧MYSQL数据库中,我使用以下MYSQL查询。因为我将我的数据库迁移到mongoDB,所以我必须迁移查询。
在我的旧mysql数据库中,我使用了以下查询
SELECT idValue,
Timestamp,
Value
FROM (
SELECT *
FROM Metingen2
WHERE idGroep = 123
ORDER BY idValue ASC ,
Timestamp DESC
)
AS t GROUP BY t.idValu
通过阅读MySQL文档,我无法解释phpMyAdmin中这两个查询之间的区别:
SELECT * FROM f_ean GROUP BY ean HAVING type = 'media'
-->给我57059个结果
SELECT ean, type FROM f_ean GROUP BY ean HAVING type = 'media'
-->给我73201个结果
只显示不同的列,查询的结果号怎么会不同呢?
我正在为我的团队创建一个锻炼日志。我目前拥有的是一个MySQL查询(用PHP编写),该查询检索与当前周发布的帖子相关联的用户is数组。守则如下:
mysql_query("SELECT u_id FROM posts WHERE id IN (SELECT p_id FROM post_groups WHERE g_id='" . $group['id']. "') AND date >= '" . $d_start . "' AND date <= '" . $d_end .
我有一个mysql的问题,我认为这不是一个问题。我尝试按一列对concat进行分组,但随后基本上保持其余列的顺序不变。例如,我的第三个清单的输出是"9Lives.......“上划线是按照我想要的方式进行排序,按“流行”降序排列。如何使其余的列以相同的方式排序,以便"itemupc“与上划线信息匹配?
代码如下:
select group_concat( distinct overline order by popular desc) as 'overline' ,item, itemupc,popular
from shelftalkers
group by
我想从用户中选择最新的帖子,我正在寻找最有效的方法来做到这一点。
目前,这将选择第一个帖子,而不是最后一个:
$query = mysql_query("
SELECT *
FROM posts
WHERE toID=fromID
GROUP BY fromID
ORDER BY date DESC LIMIT 3");
表结构:
表:帖子
id ToID
我使用w3s作为我在中的例子
SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders,
Orders.OrderDate
FROM Orders
LEFT JOIN Shippers
ON Orders.ShipperID=Shippers.ShipperID
GROUP BY ShipperName;
我很困惑,为什么上面的声明没有抛出一个错误。当我们通过所有的MySQL聚合时,MySQL如何知道要使用哪个OrderID
我创建了一个包含message, sender, to, time的表,我希望按发件人分组和按时间排序这是我的代码
$query= mysql_query("SELECT * FROM `table` ORDER BY `time` GROUP BY `sender`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
$num = mysql_num_rows($query);
$msg = $arr ['message'];
echo '</br>';
令人惊讶的是--这是一个在MySQL中非常有效的查询:
select X, Y from someTable group by X
如果您在Oracle或SQL Server中尝试此查询,您将得到自然错误消息:
Column 'Y' is invalid in the select list because it is not contained in
either an aggregate function or the GROUP BY clause.
那么MySQL如何确定为每个X显示哪个Y呢?它只会选择一个。据我所知,它只选取它找到的第一个Y。原因是,如果Y既不是聚合
我不是在谈论如何对result进行排序。这我知道!
这是result中我想要按特定顺序排序的字段之一。
所以假设我们有一个由mgo查询返回的result := []A{}:
type A struct {
I string
II []B
}
type B struct {
X string
XX int
}
在result中,我希望每个result[i].II都按B.XX排序
我想问的是,我能不能让mgo来完成这种排序,或者我必须在result上循环,然后自己对A.II切片进行排序?
我想知道斯芬克斯的实时索引和它的配置。我有一个包含以下列的mysql表:
filter_id int(11) AI PK
filter_user_id int(11)
filter_name varchar(64)
filter_state text
我把json存储在filter_state中。现在,我想搜索json字段,并配置Sphinx实时索引。
我的配置文件如下所示:
index rt_filters
{
type = rt
path = /var/sphinx/data/rt_filters
rt_field = state
我无法真正了解我应该如何从mysql获取以下信息。
我点击一个客户。在新的页面上,我得到了基本的客户信息,计划也是对附加到客户的打印机进行概述。我有一个数据库,打印机每天报告一次他们的信息。
我只想显示每台机器一次(每S/N),与最新的信息,如计数器,墨粉等.
S/N Model Counter Current Cyan Current Magenta Current Yellow Current Black
NB64534 HP Color Laserjet 2600 65.473 45% 32%