c# - mysql随机记录给出一条重复数据

标签 c# mysql asp.net asp.net-mvc asp.net-mvc-3

我正在开发一个记录不连续的网站,记录随机显示。 我使用简单的 mysql 随机方法通过使用 rand() 和 limit 来显示随机记录,其中 limit 被参数化以逐条获取下一条记录。

我正在使用asp.net mvc框架和mysql数据库。

这里是mysql查询。

select distinct
lw.Lawyer_id,
lw.name,
StateName,
ct.city,
Date_of_registration,
lawyer_views,
fl.practice
from
    registration lw
        left join
    states st ON st.Id = lw.State_Id
        left join
    city ct ON ct.id = lw.City_Id
        left join
    total_views lwv ON lwv.l_id = lw.L_id
        left join
    rsuper rsub ON rsub.l_id = lw.L_Id
        left join
    lfilter fl ON fl.L_Id = lw.L_Id
where
    lw.City_Id = '577'
        and rsub.special_id = 1
        and lw.status = 'Active'
        and lw.L_id != 1
        and lw.service = 'Free'
order by rand()
limit start , pageSize

在此查询中,pageSize 是记录总数,即 18start 变量根据参数更改,但默认值为 0

它根据 ajax 请求随机提供 18 条记录,但问题是它提供了一些重复的记录。

请告诉我如何防止这个或其他更好的解决方案,我也尝试了 rand() 函数的其他替代方案,但它对我没有帮助。 我使用本教程来更好地改进随机记录。 https://www.warpconduit.net/2011/03/23/selecting-a-random-record-using-mysql-benchmark-results/

最佳答案

看这里:http://jan.kneschke.de/projects/mysql/order-by-rand/ 那里发现了关于如何选择随机数的研究。可能是那里的解决方案之一可以解决您的问题。

附言我不能发表评论所以写帖子但它应该在评论中......

UPD:查看了MySQL select 10 random rows from 600K rows fast ...

关于c# - mysql随机记录给出一条重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37831213/

相关文章:

php - 将半重复的 sql 结果分组在一起

c# - 使用Asp.net web C#在IIS上动态创建网站

c# - Unity/Firebase 如何使用 Google 进行身份验证?

c# - 是否可以从 aspnet 核心 Web 应用程序生成 .msi 包?

c# - 你如何编辑一个用户,谁的电子邮件用户名包含一个连字符?

MYSQL MAX和Min查询

c# - MySQL Linq 使用 .Contains(变量)

php - 根据用户位置显示结果

jquery - 如何禁用单击按钮,然后调用单击事件

c# - 请求被中止无法在共享主机服务器 C# 上创建 ssl/tls 安全通道