Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为MYSQL longtext列中出现的彩票号码创建计数器。这可能需要PHP_Mysql_Pseudocode_Longtext - Fatal编程技术网

为MYSQL longtext列中出现的彩票号码创建计数器。这可能需要PHP

为MYSQL longtext列中出现的彩票号码创建计数器。这可能需要PHP,mysql,pseudocode,longtext,Mysql,Pseudocode,Longtext,我可能需要PHP或其他语言来完成这项工作,尽管直接使用MYSQL解决方案是首选 我收集了去年纽约州彩票中奖号码的清单。我在MYSQL中创建了一个4列表来存储数据。一个用于日期,一个用于中奖彩票号码,一个用于奖金号码,一个用于支付。在对如何存储彩票号码做了一些研究之后(我认为是一个整数数组),我发现了使用长文本数据类型的建议。输入数据时使用一个管道,将每个值分开,如下所示:01 | 34 | 35 | 36 | 56 | 59。数字总是按升序排列,有两位数字,不能超过59 我的流程的下一步是创建一

我可能需要PHP或其他语言来完成这项工作,尽管直接使用MYSQL解决方案是首选

我收集了去年纽约州彩票中奖号码的清单。我在MYSQL中创建了一个4列表来存储数据。一个用于日期,一个用于中奖彩票号码,一个用于奖金号码,一个用于支付。在对如何存储彩票号码做了一些研究之后(我认为是一个整数数组),我发现了使用长文本数据类型的建议。输入数据时使用一个管道,将每个值分开,如下所示:01 | 34 | 35 | 36 | 56 | 59。数字总是按升序排列,有两位数字,不能超过59

我的流程的下一步是创建一个表,显示每个数字发生的频率。以下是我的伪代码:

1 Create table "Number_Frequency"
2 Create column "Number"(Type int)
3 Create column "Frequency"(Type int, initial value 0)
4 Look at table "new_table"
5 Look at column "numbers"
6 Look at first row
7 Look at first two digits
  7A If this two digit number isn't in the column "Number" in the table "Number_Frequency", add to column "Number" in table "Number_Frequency" and set corresponding "Frequency" to 1
  7B Else if number is already in column "Number" increase the value of frequency by 1
8 Look for a pipe symbol
  8A If there is a pipe symbol, repeat all parts of step 7 for the next two digits after the pipe symbol.
  8B Else if there is another row, look at the first two digits of that row, and start from step 7A
  8C Else terminate.

正如你所看到的,我非常清楚我想做什么。我有几个简单的问题要问:这可以只在MYSQL中完成吗?更重要的是,有没有一个主要的、明显的理由让人不去尝试?如果有,原因是什么?

将固定大小的数字集存储为串联字符串是疯狂的

考虑将它们存储在6个单独的列中,每个列都是整数类型。或者,将它们存储在只有两列的表中:
draw_id
value
;此表中每个抽签有6个条目。然后,构造一个查询来查找给定值的出现次数就变得很简单了

比如:

draw_values
===========

draw_id       value
-------------------
538           1
538           34
538           35
538           36
538           56
538           59
539           5
539           10
539           13
539           27
539           38
539           56
...


draw
====

draw_id       winner_id       payout
---------------------------------------
538           127740          1000000
539           839820          1500000
...

其中,
draw\u id
是主表中的外键,其中包含每次提款的一次性详细信息(例如付款)。

问题是我手工制作此表,因为我是初学者,我不愿意再次执行整个过程。我想在这一点上没有什么可以做的,对吧?至于您建议创建一个draw_id和value列对,您认为每个draw在这个表中有6个条目是什么意思?这句话让我有点困惑,我必须同意奥利的观点。如果您永远不需要查询特定字段,那么这样存储数据是可以的,但是因为您实际上需要对它们进行操作,所以我会说,将其标准化,并将数字保留在单独的表中。我会说将它们存储在draw_id(FK)值中,这样可以更容易地对它们进行排序/选择。