如何在不使用 rowcount 的情况下仅选择 sybase 中的 1 行

发布于 2024-10-13 13:44:26 字数 256 浏览 3 评论 0原文

如何在不使用 rowcount 的情况下仅选择 sybase 中的 1 行?我没有在 sybase 中设置 rowcount 的权限。有没有办法只选择 1 行?

例如:

select * from table where name = 'jack' 

这将返回两行;如何在不使用 set rowcount 的情况下仅从结果集中选择一行?

How do I select only 1 row in sybase without using rowcount? I don't have the privilege to set rowcount in sybase. Is there a way to select only 1 row?

For example:

select * from table where name = 'jack' 

This returns two rows; how do I select only one row from the result set without using set rowcount?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吻泪 2024-10-20 13:44:26

尝试查询:

SELECT TOP 1 * FROM mytable
WHERE name = 'jack'

正如您可能猜到的,这会选择 TOP 1 匹配结果。如果您想要更多(这里不需要),您可以使用任何数字(TOP 100TOP 1000 等)。

可以在 w3schools 上找到更全面的示例: http://www.w3schools.com/Sql/sql_top .asp

Try the query:

SELECT TOP 1 * FROM mytable
WHERE name = 'jack'

As you might guess, this selects the TOP 1 matching results. If you wanted more (which you don't here) you could use any number (TOP 100 or TOP 1000, etc).

A more comprehensive example can be found on w3schools: http://www.w3schools.com/Sql/sql_top.asp

莳間冲淡了誓言ζ 2024-10-20 13:44:26

似乎有一个原因,为什么“WHERE name = 'jack'”的行数超过 1 行,看起来行数不同。

但是,如果行没有不同,您可以尝试添加“distinct”:

SELECT DISTINCT * FROM TABLE WHERE name = 'jack'

或尝试使用“GROUP BY”语句,那么您应该显式键入所有列,例如:

SELECT name FROM TABLE WHERE name = 'jack' GROUP BY name

如果这不是您想要的,您可以在此处粘贴如何2行看起来准确吗?

There seems to be a reason, why you're getting more than 1 row for "WHERE name = 'jack'", it looks as if the rows differ.

But if, the rows do not differ you can try adding "distinct":

SELECT DISTINCT * FROM TABLE WHERE name = 'jack'

or try with "GROUP BY" statement, then you should type explicitly all columns, eg.:

SELECT name FROM TABLE WHERE name = 'jack' GROUP BY name

if this is not what you wanted, can you paste here how the 2 rows look exactly?

小姐丶请自重 2024-10-20 13:44:26

如果您想要单个结果,请使用“GROUP BY”和“HAVING column = max(column)”。或者用 min() 替换 max()。
除非最大值或最小值也不唯一,否则这应该有效。

If you want a single result, use 'GROUP BY' and 'HAVING column = max(column)'. Or replace max() with min().
This should work unless the max or min values are also not unique.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文