You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

乐透开奖不同行列号码共现频次查询实现需求

乐透号码组合共现频次统计实现方案

实现思路

  • 第一步:为每一期开奖记录生成唯一标识,将每行6个号码的宽表结构转换为单号码行的长表结构
  • 第二步:基于同开奖期的号码,生成所有大小≥2的无序号码组合(强制按号码大小排序拼接,避免相同组合因顺序不同被判定为不同值)
  • 第三步:按组合分组统计出现次数,过滤出出现次数≥2的结果输出

具体实现方案

方案1:SQL实现(以MySQL为例)

直接基于数据库表查询,适合大数据量场景:

WITH numbered AS (
    -- 为每一期开奖记录生成唯一ID
    SELECT 
        ROW_NUMBER() OVER () AS draw_id,
        number_1, number_2, number_3, number_4, number_5, number_6
    FROM `list`
),
unpivoted AS (
    -- 宽表转长表,每一期的每个号码单独占一行
    SELECT draw_id, number_1 AS num FROM numbered
    UNION ALL SELECT draw_id, number_2 AS num FROM numbered
    UNION ALL SELECT draw_id, number_3 AS num FROM numbered
    UNION ALL SELECT draw_id, number_4 AS num FROM numbered
    UNION ALL SELECT draw_id, number_5 AS num FROM numbered
    UNION ALL SELECT draw_id, number_6 AS num FROM numbered
),
combinations AS (
    -- 生成所有无重复顺序的号码组合,覆盖2-6个号码的所有组合形式
    SELECT 
        a.draw_id,
        GROUP_CONCAT(DISTINCT b.num ORDER BY b.num SEPARATOR ',') AS num_combination
    FROM unpivoted a
    JOIN unpivoted b ON a.draw_id = b.draw_id AND a.num < b.num
    GROUP BY a.draw_id, a.num
)
-- 统计频次并过滤符合要求的结果
SELECT 
    num_combination,
    COUNT(DISTINCT draw_id) AS `TARGET`
FROM combinations
GROUP BY num_combination
HAVING `TARGET` >= 2
ORDER BY `TARGET` DESC;

方案2:Python Pandas实现

适合小数据量灵活处理,逻辑更直观:

import pandas as pd
from itertools import combinations

# 此处替换为你自己的数据库连接,从表中读取原始数据
df = pd.read_sql("SELECT * FROM `list`", con=your_db_connection)

combo_counter = {}
# 遍历每一期开奖记录生成所有组合并计数
for _, row in df.iterrows():
    # 先排序确保同组合的字符串拼接结果唯一
    nums = sorted([row[f'number_{i}'] for i in range(1,7)])
    # 生成所有长度≥2的组合
    for combo_len in range(2,7):
        for combo in combinations(nums, combo_len):
            combo_str = ','.join(map(str, combo))
            combo_counter[combo_str] = combo_counter.get(combo_str, 0) + 1

# 输出符合要求的结果
for combo, cnt in combo_counter.items():
    if cnt >=2:
        print(f"{combo} -> TARGET: {cnt}")

两种方案针对你提供的样例数据,都会输出预期结果:

28,36,55,57 -> TARGET: 2
30,40 -> TARGET: 2

内容的提问来源于stack exchange,提问作者CoinAnalyzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 23:33:00