我有一个包含数百万条记录的SQL Server 2008数据库.一个字段的值范围为0到250,可能包括也可能不包括范围内的所有数字.如何查询数据库以获取不同值的列表以及包含该值的记录数?
我使用了Select Count(Distinct)查询,但只给出了不同值的数量.
让我解释一下我对这个问题的意思:
让我们说我必须这样的表:
customers
id customer location
1 Adam UK
2 Pete US
values
id value
1 10
1 7
2 3
2 41
Run Code Online (Sandbox Code Playgroud)
让我们暂时忽略那个(以及下面的查询)不会有多大意义.这是一个简化的例子.
现在,如果我运行此查询
SELECT id, customer, value FROM customers INNER JOIN values GROUP BY id
Run Code Online (Sandbox Code Playgroud)
我应该得到这个结果(与id不同)
id customer value
1 Adam 10
2 Pete 3
Run Code Online (Sandbox Code Playgroud)
我希望能够做到的是在搜索结果列表中使用它,但是为了实际显示结果,我想做这样的事情:
Customer: Adam
Values: 10, 7
Run Code Online (Sandbox Code Playgroud)
所以,基本上,虽然我需要有一个与ID不同的结果集,但我仍然希望以某种方式保存GROUP BY删除的行以显示如上所示的值列表.做这个的最好方式是什么?
我有一个大约1.6M行的表,其中记录具有唯一(标识)ID,然后还有一个8个字符的"代码"字段.它用于将数据分组的代码字段...具有相同代码的所有行都在同一个集合中.每个集合应包含12个记录,但似乎我们的数据加载已关闭且某些集合不完整.
我需要识别不完整的集合.我如何编写查询以仅选择那些在集合中没有正确数量的记录的集合中的那些记录(12)?
我正在使用MS SQL 2008.
谢谢.
我想今天选择所有信息作为变量,如下所示:
SELECT * FROM `table` WHERE `cat` = 'BA' and `date` LIKE '03/28%'
SELECT * FROM `table` WHERE `cat` = 'BB' and `date` LIKE '03/28%'
SELECT * FROM `table` WHERE `cat` = 'BC' and `date` LIKE '03/28%'
SELECT * FROM `table` WHERE `cat` = 'BD' and `date` LIKE '03/28%'
Run Code Online (Sandbox Code Playgroud)
但是我没有为每个人做一个新的查询,而是想提出:
$ba = the total number of results returned;
$bb = the total number of results returned;
$bc = the total number of results returned;
$bd = the total number of …Run Code Online (Sandbox Code Playgroud) *编辑* 我问这个问题是一个php问题,没有mySql的标签(已被另一个SO成员添加 - >对我来说不是什么大问题,但只是说).我很抱歉任何混淆包含?无关?数组来自mySql查询的详细信息!
我希望通过在数组中使用PHP来保持查询数据从SELECT *to循环.我想,为了保持这段代码的简单,PHP可以计算字符串在数组中特定位置出现的次数.
*/编辑*
我想知道字符串出现在mySql查询结果的特定列中的次数.
例如,假设我有一个表'汽车',它们是该表中的列'类型'.列'type'具有'sedan','van','suv'等值.
如果我从表中查询所有内容,如下所示:
$query = "SELECT *
FROM automobiles";
Run Code Online (Sandbox Code Playgroud)
然后将查询的值插入到数组中:
$the_array = mysql_fetch_array($query);
Run Code Online (Sandbox Code Playgroud)
然后尝试量化字符串出现的次数,如下所示:
$count = array_count_values($the_array);
print_r($count);
Run Code Online (Sandbox Code Playgroud)
这不仅不起作用,而且数据也不准确,因为这些值将基于整个表格,而不是仅仅基于汽车的"类型"列.
我有一个以a形式的键/值集合Dictionary<string, string>.
如何将其转换或聚合为属性字符串:
key1="value1" key2="value2" key3="value3"
Run Code Online (Sandbox Code Playgroud)
我相信这可以使用Aggregate函数来实现,但是,我发现这个特定扩展方法的文档令人困惑.任何帮助深表感谢.
我是PostgreSQL的新手,我在将数据库从Oracle迁移到PostgreSQL 9.2时遇到了问题.我必须在我的代码中更改一些本机查询.我有一个子查询,如:
SELECT wm_concat(p.first_name || ' ' || p.last_name)
FROM TODO_PERSON PR
JOIN PERSON P ON (p.id == pr.person_id)
WHERE todo_id = internal_table.id
Run Code Online (Sandbox Code Playgroud)
在PostgreSQL中我找不到等效的功能或其他解决方案......
$today = mktime(0,0,0);
$yesterday = $today - 86400;
$this->view->numberyesterday=$db->fetchAll("SELECT * FROM `transactions` WHERE `siteid`=".$sid." AND `timestamp` > ".$db->quote($yesterday,'integer')." AND timestamp < ".$db->quote($today,'integer'));
Run Code Online (Sandbox Code Playgroud)
我用上面的代码显示了昨天的所有记录.现在我需要绘制每小时的图表.如何从上述查询中每小时检索一次记录?(例如,记录在12-1 AM,1-2 AM .... 23-24PM等)
谢谢!
编辑:
我希望我可以在每个变量中存储每小时的记录.因此24小时内将有24个变量.因此绘制图表很容易.
在编写程序时,我遇到了stackoverflow错误,其中我在一个方法之外实例化,所以我在互联网上搜索它我不明白我的代码的任何正确的解决方案.
所以任何人都可以让我清楚我的困惑.我正在使用聚合,因为它的Has-a关系下面是我的Mainpage.class,它将首先执行..
import java.util.Scanner;
public class Mainpage {
Scanner in = new Scanner(System.in);
People people;
public void openapp()
{
people = new People();
System.out.println("Welcome to the Chat");
System.out.println();
System.out.println("1. Newsfeed");
System.out.println("2. Chat");
System.out.println("3. Friends");
System.out.println("Enter your choice");
int input = in.nextInt();
switch(input)
{
case 1:
System.out.println("Newsfeed");
break;
case 2:
System.out.println("Chat");
break;
case 3:
System.out.println("Friends");
break;
default :
System.out.println("Invalid Input");
}
if(input == 3)
{
people.friends();
}
}
public static void main(String args[]){
Mainpage m = new Mainpage();
m.openapp();
}
} …Run Code Online (Sandbox Code Playgroud) 我需要编写一个查询,以显示客户订单的最大和最小订单数。
我试过了:
(SELECT TOP 1 CustomerID, COUNT(*) AS Number_Of_Orders
FROM Orders
GROUP BY CustomerID
ORDER BY COUNT(*) ASC)
UNION ALL
(SELECT TOP 1 CustomerID, COUNT(*) AS Number_Of_Orders
FROM Orders
GROUP BY CustomerID
ORDER BY COUNT(*) DESC)
Run Code Online (Sandbox Code Playgroud)
但是我无法在输出之间进行合并,但出现了错误Incorrect syntax near the keyword 'ORDER'。
我该怎么办?