通过阅读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查询,该查询输出按周创建的新用户数量。
我的用户表是:
id | created_at
My查询:
SELECT YEAR(created_at) AS Year, DATE_FORMAT(created_at, '%b %e') AS Week, COUNT(*) AS total
FROM users
GROUP BY Year, Week;
问题:
年份:我希望最近的一年是最高的,目前最老的年份是在产出的顶端。
周数:未根据日历对周列进行排序。例如,最后的记录显示:2019 | May 9 | 100
我想在那里整理一年和一周。
当我使用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语句。
$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列中出现的频率对数据进行排序,并使它们成为DISTINCT。因此,如果表中有一个颜色列,如下所示:
colors
------ ----
red |
blue |
red |
green |
blue |
red |
yellow|
blue |
green |
red |
结果将是:
red
blue
green
yellow
红色出现4次,蓝色3次,绿色2次,黄色1次。谢谢
我无法真正了解我应该如何从mysql获取以下信息。
我点击一个客户。在新的页面上,我得到了基本的客户信息,计划也是对附加到客户的打印机进行概述。我有一个数据库,打印机每天报告一次他们的信息。
我只想显示每台机器一次(每S/N),与最新的信息,如计数器,墨粉等.
S/N Model Counter Current Cyan Current Magenta Current Yellow Current Black
NB64534 HP Color Laserjet 2600 65.473 45% 32%
我有这个问题。我想在别名Total1和Total2上执行添加操作。我的查询不工作mysql显示未知列错误。
SELECT p.Quantity*p.Price AS Total1,
p.Quantity+p.Tax AS Total2,
p.Total1+p.Total2 AS Total
FROM p
ORDER BY id
令人惊讶的是--这是一个在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既不是聚合
在mysql中使用view和group by时,我得到了错误的结果。
一个简单的表test
id name value
1 a 200
2 a 100
3 b 150
4 b NULL
5 c 120
当使用普通语法时,
select * from (select * from test order by name asc, value asc ) as test group by test.name;
它返回
id name value
2 a 100
4 b NULL
5 c 120
但是,如果将子查询替换为视图,则会显示
我正在使用MySQL,并且我有一个在列中包含日期的表(我正在为一个类制作一个包含到期日期的表)。在此之前,我的查询如下:
SELECT * FROM duedates_f2011 ORDER BY anothercolumn
为了防止重复出现(基于duedate列),我必须将其更改为:
SELECT * FROM duedates_f2011 GROUP BY duedate
目前,它保留了相同的顺序,但是我如何保证它仍然会这样做呢?在我读过的GROUP BY教程中,没有任何东西表明它仍然会对其进行排序,而且在之后添加ORDER BY语句也是不正确的。我是否遗漏了什么,或者我应该添加其他什么以
我有以下模型:
class JobView(models.Model):
job = models.ForeignKey(Job)
user = models.ForeignKey('auth.User')
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-created']
在视图中,我正在抓取工作信息:
mo
我想知道斯芬克斯的实时索引和它的配置。我有一个包含以下列的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/PHP代码。它工作得很好,尽管我对它还很陌生,所以很难让消息线程在最新的时候显示出来。你有没有可能给我提点建议?当前代码如下:
$result = '';
$nowTime = time();
$getmessages = mysql_query("SELECT * FROM messages WHERE msg_to = '$session_memberid' GROUP BY msg_from ORDER BY ID DESC");
while($iamessages = mysql_f
我通过MySQL PDO获取数据数组:
"select * from table"
在查询中使用函数排序是否更快,例如
"select * from table order by key"
与直接的mysql顺序查询相比,使用PHP usort或任何其他数组排序会牺牲很大的效率吗?
$prepare=$database->prepare("select * from table");
$prepare->execute();
$fetch=$prepare->fetchall(PDO::FETCH_ASSOC);
usort(
我有一个名为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
我正在尝试优化查询。使用EXPLAIN告诉我它是Using temporary。考虑到表的大小(20m+记录),这是非常低效的。查看MySQL文档,我没有发现在查询中需要临时表的任何东西。我还尝试将ORDER设置为与组BY相同,但仍然说使用临时和查询要花费很长时间才能运行。我使用的是MySQL 5.7。
是否有一种方法可以避免对此查询使用临时表:
SELECT url,count(*) as sum
FROM `digital_pageviews` as `dp`
WHERE `publisher_uuid` = '8b83120e-3e19-4c34-8556-7b710bd7b
我想在我的MySQL查询中自定义字母排序顺序。马耳他语使用标准拉丁字母和字符:ċ,ġ,ħ和ż。我使用utf8_bin排序规则,因为ċ与c(以此类推)不一样。这样做的结果是,当我使用ORDER BY时,字母按以下顺序处理:
a b c d e f g h i j k l m n o p q r s t u v w x y z ċ ġ ħ ż
然而,我要求他们有这样的命令:
a b ċ c d e f ġ g h ħ i j k l m n o p q r s t u v w x y ż z
这意味着按照升序,"abċ“应该出现在"abz”之前,但现在是在后面,因为它只是比较字符的